package com.deer.wms.system.manage.model.user;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import javax.persistence.*;

/**
 * @author wei
 */
@Getter
@Setter
@NoArgsConstructor
@Table(name = "user_info")
public class UserInfo {
    /**
     * 用户信息id
     */
    @Id
    @Column(name = "user_id")
    @TableId(value = "user_id", type = IdType.AUTO)
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer userId;

    /**
     * 登录帐号
     */
    private String account;

    /**
     * 登录密码
     */
    private String password;

    /**
     * 密码盐值
     */
    private String salt;

    /**
     * 姓名
     */
    @Column(name = "user_name")
    private String userName;

    /**
     * 性别：1=先生；2=女士；
     */
    private Integer gender;

    /**
     * 手机号码
     */
    private String mobile;

    /**
     * 电子邮箱
     */
    private String email;

    /**
     * 头像地址
     */
    @Column(name = "icon_url")
    private String iconUrl;

    /**
     * 跳转地址
     */
    private String url;

    @Column(name = "url_name")
    private String urlName;

    /**
     * 是否管理员：0=否；1=是；
     */
    @Column(name = "is_admin")
    private Integer isAdmin;

    /**
     * 账户状态：enable=启用；disable=停用；默认启用
     */
    @Column(name = "account_status")
    private String accountStatus;

    /**
     * 信息状态：normal=正常的；invalid=无效的；deleted=已删除；默认正常的
     */
    private String state;

    /**
     * 创建人：如果为-1表示系统初始化
     */
    @Column(name = "create_user_id")
    private Integer createUserId;

    /**
     * 创建时间
     */
    @Column(name = "create_time")
    private String createTime;

    /**
     * 修改人
     */
    @Column(name = "modify_user_id")
    private Integer modifyUserId;

    /**
     * 修改时间
     */
    @Column(name = "modify_time")
    private String modifyTime;

    /**
     * 工号
     */
    private String jobNumber;

    /**
     * 部门ID
     */
    private Integer deptId;

    /**
     * 1、操作员工 2、第三方APP
     */
    private String userType;

    /**
     * token
     */
    private String token;

    /**
     * 租户ID
     */
    private String tenantId;

    /**
     * 部门编码
     */
    private String deptCode;

    /**
     * 用户编码
     */
    private String userCode;

    /**
     * erp 传过来的ID
     */
    private Long erpId;

    /**
     * 组织ID
     */
    private Long org;
}
